package com.stud.system.service;

import com.stud.common.mybatis.BaseService;
import com.stud.system.domain.Area;
import com.stud.system.dto.AreaDTO;

import java.util.List;

/**
 * 区域管理Service接口
 *
 * @author Stud
 * @date 2023-07-27
 */
public interface AreaService extends BaseService<Area> {

    /**
     * 递归获取所有下级区域
     *
     * @param areaId
     * @return
     */
    List<AreaDTO> recurseChildren(Long areaId);

    /**
     * 递归获取所有下级区域
     *
     * @param areaId
     * @return
     */
    List<Long> recurseChildrenId(Long areaId);

    @Override
    boolean save(Area area);

    @Override
    boolean update(Area area);

    List<Area> districtList();

}
